/*
 * @Description: 内置对象
 * @Autor: HuiSir<273250950@qq.com>
 * @Date: 2021-05-21 17:22:16
 * @LastEditTime: 2021-05-21 17:41:14
 */
(function () {
    /**
     * 在js中的内置全局对象在ts中全部支持
     */

    // let s: string = new String("abc") 
    // 报错：不能将类型“String”分配给类型“string”。“string”是基元，但“String”是包装器对象。如可能首选使用“string”。

    let s: String = new String("abc") // 注意类型中的String，S是大写
    console.log(s) //[String: 'abc'] 打印的是对象，对象是有__proto__原型链属性的

    // s = 1   // 不能将类型“number”分配给类型“String”。
    s = "def"
    console.log(s)  // def

    /**
     * BOM和DOM的内置对象也是可以直接使用的
     */
    const div: HTMLElement = document.createElement("div")
    const p: HTMLDivElement = document.createElement("p")
    const div2: HTMLElement = document.getElementById("footer")
    const div3: NodeList = document.querySelectorAll("p")
    const frag: DocumentFragment = document.createDocumentFragment()
    document.addEventListener("click", (e: MouseEvent) => {
        console.dir(e.target)
    })

})()